package com.cskaoyan.javase.oop3._1interface._4example;

import com.cskaoyan.javase.oop3._1interface._4example.model.Goods;
import com.cskaoyan.javase.oop3._1interface._4example.operation.impl.GoodsOperationImpl;

/**
 * 某电商系统`后台`，前端程序员需要后端程序员，提供接口来完成库存的管理，展示页面。假如前后端商量好，要求：
 *
 * 1. 展示全部商品（goods）页面时，将仅装有商品对象的数组返回，前端不提供任何数据。
 * 2. 新增商品时，前端提供商品各种参数，后端需要校验ID唯一性，然后将对象插入数组，返回插入结果。（成功返回true，ID重复返回false）
 * 3. 删除商品时，前端提供商品ID，后端将该商品删除后，返回删除删除结果。（成功返回true，找不到该ID的商品返回false）
 * 4. ....
 *
 * @since 16:28
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Test {
    public static void main(String[] args) {
        GoodsOperationImpl go = new GoodsOperationImpl();
        System.out.println("插入之前:");
        for (Goods good : go.getAllGoods()) {
            good.print();
        }

        int flag = go.createGoods(6, "Mac Book Pro16", 20000);
        switch (flag) {
            case 1:
                System.out.println("插入成功!");
                break;
            case 2:
                System.out.println("ID重复,插入失败!");
                break;
            case 3:
                System.out.println("数组已满,插入失败!");
                break;
        }
        System.out.println("插入之后:");

        for (Goods good : go.getAllGoods()) {
            good.print();
        }

        System.out.println(go.deleteGoods(10));

        System.out.println("删除之后:");
        for (Goods good : go.getAllGoods()) {
            good.print();
        }

    }
}
